package com.zpark.controller;

import com.zpark.pojo.User;
import com.zpark.utils.RedisUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;

import java.util.HashSet;
import java.util.Set;


@RestController
public class RedisController {

    @Autowired
    private RedisTemplate redisTemplate;

    @Autowired
    private RedisUtil redisUtil;

    @PostMapping("/set")
    public void setStr(String key, String value){
        redisTemplate.opsForValue().set(key, value);
        System.err.println("设置key和value成功");
    }

    @GetMapping("/get")
    public String getStr(String key){
        return (String) redisTemplate.opsForValue().get(key);
    }

    @PostMapping("/s_obj")
    public void setObj(@RequestBody User user){
        redisTemplate.opsForValue().set("user:1", user);
    }

    @GetMapping("/g_obj")
    public User getObj(){
        return (User) redisTemplate.opsForValue().get("user:1");
    }

    @PostMapping("/st")
    public void set(){
        Set<String> set1 = new HashSet<>();
        set1.add("java");
        set1.add("python");

        redisUtil.sSet("st", set1.toString());
    }

    @GetMapping("/gst")
    public Set<Object> getS(){
        return redisUtil.members("st");
    }
}
